package com.hxzy.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hxzy.common.core.domain.entity.SysDictData;
import com.hxzy.common.core.domain.entity.SysDictType;
import com.hxzy.common.core.domain.entity.SysRole;
import com.hxzy.system.domain.dto.SysDictTypeSearchDTO;
import com.hxzy.system.domain.dto.ValueExistsDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SysDictTypeMapper extends BaseMapper<SysDictType> {

    /**
     * 分页查询
     * @param page
     * @param sysDictTypeSearchDTO
     * @return
     */
    IPage<SysDictType> search(IPage<SysRole> page, @Param("dto") SysDictTypeSearchDTO sysDictTypeSearchDTO);

    /**
     * 导出excel
     * @param sysDictTypeSearchDTO
     * @return
     */
    List<SysDictType> searchExport(@Param("dto") SysDictTypeSearchDTO sysDictTypeSearchDTO);

    /**
     * 根据所有字典类型
     * @return
     */
    List<SysDictType> selectDictTypeAll();


    /**
     * 根据字典类型查询信息
     * @param dictType
     * @return
     */
    SysDictType selectDictTypeByType(String dictType);

    /**
     * 校验字典类型称是否唯一
     * @param valueExistsDTO
     * @return
     */
    int checkDictTypeUnique(ValueExistsDTO valueExistsDTO);


}
